package com.xuecheng.content.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.api.content.model.TeachplanDTO;
import com.xuecheng.api.content.model.TeachplanMediaDTO;
import com.xuecheng.content.entity.Teachplan;

/**
 * <p>
 * 课程计划 服务类
 * </p>
 *
 * @author itcast
 * @since 2021-12-11
 */
public interface TeachplanService extends IService<Teachplan> {

    /**
     * @Description //TODO
     * @Date 2021/12/11 19:12
     * @Param [courseBaseId, Long  课程id
     *         companyId]   Long  教育机构id
     * @return java.util.List<com.xuecheng.api.content.model.TeachplanDTO>  返回数据
     **/
    TeachplanDTO queryTeachplanList(Long courseBaseId, Long companyId);

    /**
     * @Description //修改或者添加--根据teachplanid和parentid来判断几级数据的增加或者修改
     * @Date 2021/12/11 20:52
     * @Param [teachplanDTO, companyId]
     * @return com.xuecheng.api.content.model.TeachplanDTO
     **/
    TeachplanDTO updateorInsertTeachplan(TeachplanDTO teachplanDTO,Long companyId);

    /**
     * @Description //根据课程计划的id删除
     * @Date 2021/12/11 23:56
     * @Param [teachPlanId, companyId]  课程计划的id+教育机构id
     * @return void
     **/
    void removeTeachPlan(Long teachPlanId,Long companyId);

    /**
     * @Description //TODO 课程计划与媒资信息的绑定
     * @Date 2021/12/16 19:20
     * @Param [dto, companyId]
     * @return com.xuecheng.api.content.model.TeachplanMediaDTO
     **/
    TeachplanMediaDTO associateMedia(TeachplanMediaDTO dto, Long companyId);
}
